package org.dromara.business.domain.bo;

import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.business.domain.OrphanDetails;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;

/**
 * 孤儿详细信息业务对象 orphan_details
 *
 * @author zlj
 * @date 2025-01-18
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = OrphanDetails.class, reverseConvertGenerate = false)
public class OrphanDetailsBo extends BaseEntity {

    /**
     * 用户ID
     */
//    @NotNull(message = "用户ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long userId;

    /**
     * 图片
     */
//    @NotBlank(message = "图片不能为空", groups = { AddGroup.class, EditGroup.class })
    private String picture;

    /**
     * 姓名
     */
//    @NotBlank(message = "姓名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String name;

    /**
     * 小名
     */
//    @NotBlank(message = "小名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String petName;

    private String sex;

    /**
     * 出生日期
     */
//    @NotBlank(message = "出生日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String birthDate;

    /**
     * 年龄
     */
//    @NotNull(message = "年龄不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long age;

    /**
     * 地区
     */
//    @NotBlank(message = "地区不能为空", groups = { AddGroup.class, EditGroup.class })
    private String area;

    /**
     * 街道
     */
//    @NotBlank(message = "街道不能为空", groups = { AddGroup.class, EditGroup.class })
    private String street;

    /**
     * 社区
     */
//    @NotBlank(message = "社区不能为空", groups = { AddGroup.class, EditGroup.class })
    private String community;

    /**
     * 民族
     */
//    @NotBlank(message = "民族不能为空", groups = { AddGroup.class, EditGroup.class })
    private String nationality;

    /**
     * 身份证号
     */
//    @NotBlank(message = "身份证号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String idCard;

    /**
     * 身高
     */
//    @NotNull(message = "身高不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long height;

    /**
     * 体重
     */
//    @NotNull(message = "体重不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long weight;

    /**
     * 是否有疾病
     */
//    @NotBlank(message = "是否有疾病不能为空", groups = { AddGroup.class, EditGroup.class })
    private String isIll;

    /**
     * 疾病
     */
//    @NotBlank(message = "疾病不能为空", groups = { AddGroup.class, EditGroup.class })
    private String ill;

    /**
     * 监护人姓名
     */
//    @NotBlank(message = "监护人姓名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String guardianName;

    /**
     * 联系方式
     */
//    @NotBlank(message = "联系方式不能为空", groups = { AddGroup.class, EditGroup.class })
    private String guardianTel;

    /**
     * 与孩子关系
     */
//    @NotBlank(message = "与孩子关系不能为空", groups = { AddGroup.class, EditGroup.class })
    private String relation;

    /**
     * 邻居姓名
     */
//    @NotBlank(message = "邻居姓名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String neighborName;

    /**
     * 联系方式
     */
//    @NotBlank(message = "联系方式不能为空", groups = { AddGroup.class, EditGroup.class })
    private String neighborTel;

    /**
     * 村(居)委书记姓名
     */
//    @NotBlank(message = "村(居)委书记姓名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String villageName;

    /**
     * 村(居)委书记联系方式
     */
//    @NotBlank(message = "村(居)委书记联系方式不能为空", groups = { AddGroup.class, EditGroup.class })
    private String villageTel;

    /**
     * 家庭主要联系人姓名
     */
//    @NotBlank(message = "家庭主要联系人姓名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String primaryName;

    /**
     * 家庭主要联系人联系方式
     */
//    @NotBlank(message = "家庭主要联系人联系方式不能为空", groups = { AddGroup.class, EditGroup.class })
    private String primaryTel;

    /**
     * 学校
     */
//    @NotBlank(message = "学校不能为空", groups = { AddGroup.class, EditGroup.class })
    private String school;

    /**
     * 班主任姓名
     */
//    @NotBlank(message = "班主任姓名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String teacherName;

    /**
     * 班主任联系方式
     */
//    @NotBlank(message = "班主任联系方式不能为空", groups = { AddGroup.class, EditGroup.class })
    private String teacherTel;

    /**
     * 家庭情况
     */
//    @NotBlank(message = "家庭情况不能为空", groups = { AddGroup.class, EditGroup.class })
    private String familyInfo;

    /**
     * 家庭是否有低保
     */
//    @NotBlank(message = "家庭是否有低保不能为空", groups = { AddGroup.class, EditGroup.class })
    private String isSubsistenceAllowance;

    /**
     * 家庭是否是精准扶盆户
     */
//    @NotBlank(message = "家庭是否是精准扶盆户不能为空", groups = { AddGroup.class, EditGroup.class })
    private String isPreciseHelp;

    /**
     * 微心愿
     */
//    @NotBlank(message = "微心愿不能为空", groups = { AddGroup.class, EditGroup.class })
    private String wish;

    /**
     * 孩子现状
     */
//    @NotBlank(message = "孩子现状不能为空", groups = { AddGroup.class, EditGroup.class })
    private String helpType;

    /**
     * 帮扶需求
     */
//    @NotBlank(message = "帮扶需求不能为空", groups = { AddGroup.class, EditGroup.class })
    private String helpNeeds;

    // 状态  1:待审核 2:审核通过 3:审核失败
//    @ExcelProperty(value = "状态")
    private String state;
}
